package com.genius.reservation.receiveManager.service;

import com.alibaba.fastjson.JSONObject;
import com.genius.reservation.common.ResponseRule;
import com.genius.reservation.common.rabbitmq.RabbitMessageEntity;
import com.genius.reservation.receiveManager.entity.ReceiveManagerInformation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.genius.reservation.receiver.entity.ReceiverInformation;
import com.genius.reservation.user.entity.UserInformation;

import java.util.List;

/**
 * <p>
 * 收货主管 服务类
 * </p>
 *
 * @author baomidou
 * @since 2022-05-26
 */
public interface IReceiveManagerInformationService extends IService<ReceiveManagerInformation> {

    ReceiveManagerInformation createReceiveManager(UserInformation user);
    default ReceiveManagerInformation saAndUp(ReceiveManagerInformation receiveManager){
        this.saveOrUpdate(receiveManager);
        return receiveManager;
    }

    void newMessage(RabbitMessageEntity obj);

    ResponseRule getMessage(String receiveManagerNumber);

    ResponseRule getAllMessage();

    ResponseRule changePlatformAndReceiver(String reservationNumber, List<JSONObject> cars);

    ResponseRule getUncompletedReservation();
    ResponseRule getCompleteReservation();
    ResponseRule getLateReservation();
    ResponseRule getUnlateReservation();
    ResponseRule getPlatformById(String platformNumber);
    ResponseRule getConfirmReservation();
    ResponseRule getReceivingReservation();
    ResponseRule getReceivedReservation();
    ResponseRule getReceiveErr();
    ResponseRule getReservationErr();
    ResponseRule lateEarlyRelease(int startCarId);



}
